
//引入MySQL模块
const mysql = require('mysql')

//创建连接池
const pool = mysql.createPool({
    host: 'localhost',
    user: 'root',
    password: 'yuyu7789',
    database: 'demo',
    connectionLimit: 10,
    timezone: 'utc',//mysql默认的时区是utc，连接是本地时区，相差8哥小时，为了同步，设置连接按utc的方式取值
});

//导出操作数据库的标准方法
module.exports = function (sql, params) {
    //返回promise对象
    return new Promise((resolve, reject) => {
        //从连接池中取得一个连接
        pool.getConnection((err, PoolConnection) => {
            if (err) {
                console.log(1, err);
                reject(err);
            } else {
                //没有错误 正常取得了连接
                //使用这个连接来操作数据库
                PoolConnection.query(sql, params, (err, result) => {
                    //查询完成后优先释放连接到连接池
                    PoolConnection.release();
                    //判断是否出错
                    if (err) {
                        console.log(2, err)
                        reject(err)
                    } else {
                        //无错 查询成功
                        resolve(result)
                    }
                })
            }
        })
    })
}
